
package edu.uoc.tdp.common;
import edu.uoc.tdp.common.EIssueException;
import edu.uoc.tdp.entity.*;
import java.rmi.RemoteException;
import java.util.List;

/**
 * @author J2RS 
 */
public interface SubsystemMaintenance extends java.rmi.Remote {
    
    public String test() throws RemoteException;
    //public User Login(String email, String password)throws RemoteException, EIssueException ;
    
    //USERS - Manteniment
    public List<User> GetAllUser() throws RemoteException,EIssueException;
    public List<User> GetAllUserTable() throws RemoteException,EIssueException;
    public List<User> GetUserById(String userId) throws RemoteException,EIssueException;
    public boolean CheckExistsUser(String UserId) throws RemoteException,EIssueException;
    public List<User> GetUse_FindById(String userId) throws RemoteException,EIssueException;
    public List<User> GetUse_FindByPostalCode(Integer PostalCode) throws RemoteException,EIssueException;
    public List<User> GetUse_FindByName(String userName) throws RemoteException,EIssueException;
    public List<User> GetUse_FindByCompany(String Company) throws RemoteException,EIssueException;
    public boolean SaveUser(User User) throws RemoteException,EIssueException;
    public boolean SaveUserChanges(User User) throws RemoteException,EIssueException;
    public boolean SavePassword(String UserId, String Passw) throws RemoteException,EIssueException;
    public boolean SaveInactivationUser(String InactivatUser, String userId) throws RemoteException,EIssueException;
    public List<Rol> GetAllRoles() throws RemoteException,EIssueException;
    
    //SPACES - Manteniment
    public List<Space> GetAllSpaces() throws RemoteException,EIssueException;
    public List<Space> GetAllSpacesTable() throws RemoteException,EIssueException;
    public List<Space> GetOneSpace(int SpaceId) throws RemoteException,EIssueException;
    public boolean CheckExistsSpace(int SpaceId) throws RemoteException,EIssueException;
    public List<Space> GetSpace_FindByDesc(String Desc) throws RemoteException,EIssueException;
    public List<Space> GetSpace_FindByPostalCode(Integer PostalCode) throws RemoteException,EIssueException;
    public boolean SaveSpace(Space Space) throws RemoteException,EIssueException;
    public boolean SaveSpaceChanges(Space Space) throws RemoteException,EIssueException;
    public boolean SaveInactivationSpace(int spaceId, String userName) throws RemoteException,EIssueException;
    
    
    //RESOURCES - Manteniment
    public List<Resource> GetAllResources() throws RemoteException,EIssueException;
    public List<Resource> GetAllResourcesTable() throws RemoteException,EIssueException;
    public List<Resource> GetOneResource(int resourceid) throws RemoteException,EIssueException;
    public boolean CheckExistsResource(int resourceid) throws RemoteException,EIssueException;
    public List<Resource> GetResource_FindByDesc(String Desc) throws RemoteException,EIssueException;
    public List<Resource> GetResource_FindByResourceid(Integer resourceid) throws RemoteException,EIssueException;
    public boolean SaveResource(Resource Res) throws RemoteException,EIssueException;
    public boolean SaveResourceChanges(Resource Space) throws RemoteException,EIssueException;
    public boolean SaveInactivationResource(int resourceId, String userName) throws RemoteException,EIssueException;

    //SPACES-RESOURCES
    public List<Resource> GetAllResourcesFromSpace(Integer spaceid) throws RemoteException, EIssueException;
    public boolean SaveSpaceResource(int SpaceId, int ResourceId) throws RemoteException,EIssueException;
    public boolean DeleteSpaceResource(int spaceid, int resourceId) throws RemoteException,EIssueException;
    
 
}